package com.bt.lms.ui.page.first;

import com.bt.lms.ui.vo.PageSkipInfo;
import com.bt.lms.ui.page.sys.utils.MyHBox;
import com.bt.lms.ui.page.sys.utils.MyVBox;
import com.bt.lms.ui.page.sys.style.LabStyle;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;

/**
 * 帮助中心界面
 */
public class HelpCentre extends VBox {

    /**
     * 界面跳转数据
     */
    private final PageSkipInfo pageSkipInfo;

    /**
     * 构建界面
     * @param pageSkipInfo 界面跳转数据
     */
    public HelpCentre(PageSkipInfo pageSkipInfo){

        //维护
        this.pageSkipInfo = pageSkipInfo;

        //布局
        Insets insets = new Insets(10);
        this.setPadding(insets);
        this.setSpacing(15);

        //组件(定位区域)
        MyHBox locationHBox = new MyHBox();
        locationHBoxInit(locationHBox);
        this.getChildren().add(locationHBox);

        //组件（使用手册）explainBook
        MyVBox explainBookVBox = new MyVBox();
        explainBookVBoxInit(explainBookVBox);
        this.getChildren().add(explainBookVBox);

        //组件（常见问题）
        MyVBox issueVBox = new MyVBox();
        issueVBoxInit(issueVBox);
        this.getChildren().add(issueVBox);

    }


    /**
     * 定位区域初始化
     * @param locationHBox 定位区域
     */
    private void locationHBoxInit(MyHBox locationHBox) {

        //控制数据
        int height = 42;

        //大小
        locationHBox.setPrefHeight(height);

        //布局
        Insets insets = new Insets(5);
        locationHBox.setPadding(insets);
        locationHBox.setSpacing(8);
        locationHBox.setAlignment(Pos.CENTER_LEFT);

        //组件
        Label siteLab = new Label("当前位置：");
        LabStyle.notWeight(siteLab);//不重要（颜色浅）
        LabStyle.locationSize(siteLab);//位置样式

        Label label = new Label("🏠");
        LabStyle.notWeight(label, 0.3);
        LabStyle.locationSize(label);

        Label oneCatalogLab = new Label(">帮助中心");
        LabStyle.notWeight(oneCatalogLab);
        LabStyle.interaction(oneCatalogLab);
        LabStyle.locationSize(oneCatalogLab);

        //添加组件
        locationHBox.getChildren().addAll(siteLab, label, oneCatalogLab);

    }

    /**
     * 使用手册初始化
     * @param explainBookVBox 使用手册
     */
    private void explainBookVBoxInit(MyVBox explainBookVBox) {

        //统一布局
        Insets labInsets = new Insets(5, 20, 5, 20);

        //布局
        Insets insets = new Insets(2);
        explainBookVBox.setPadding(insets);
        explainBookVBox.setSpacing(8);

        //组件（定位说明）
        Label eventReminderLab = new Label("使用手册");
        eventReminderLab.setPadding(labInsets);
        explainBookVBox.getChildren().add(eventReminderLab);

        //组件
        Label sysManageLab = new Label("系统管理员使用手册");
        sysManageLab.setPadding(labInsets);
        explainBookVBox.getChildren().add(sysManageLab);

        Label enpManageLab = new Label("招生管理使用手册");
        enpManageLab.setPadding(labInsets);
        explainBookVBox.getChildren().add(enpManageLab);

        Label recordManageLab = new Label("学籍管理使用手册");
        recordManageLab.setPadding(labInsets);
        explainBookVBox.getChildren().add(recordManageLab);

        Label teachingManageLab = new Label("教学管理使用手册");
        teachingManageLab.setPadding(labInsets);
        explainBookVBox.getChildren().add(teachingManageLab);
    }

    /**
     * 常见问题初始化
     * @param issueVBox 常见问题
     */
    private void issueVBoxInit(MyVBox issueVBox) {

        //布局
        Insets labInsets = new Insets(5, 20, 5, 20);
        Insets insets = new Insets(2);
        issueVBox.setPadding(insets);
        issueVBox.setSpacing(5);

        //组件（定位说明）
        Label eventReminderLab = new Label("常见问题");
        issueVBox.getChildren().add(eventReminderLab);

        //组件（教学监管怎么做）
        teachingLabInit(issueVBox);

        //组件（如何查看招生统计信息）
        enpStatisticLabInit(issueVBox);

        teachingLabInit(issueVBox);
        enpStatisticLabInit(issueVBox);
        enpStatisticLabInit(issueVBox);

        Label extendLab = new Label("» 查看更多");
        extendLab.setPadding(labInsets);
        ObservableList<Node> children = issueVBox.getChildren();
        children.add(extendLab);
    }

    /**
     * 常见问题（如何查看招生统计信息）
     * @param issueVBox 常见问题盒子
     */
    private void enpStatisticLabInit(MyVBox issueVBox) {

        //布局
        Insets labInsets = new Insets(5, 20, 5, 20);

        Label label = new Label("如何查看招生统计信息");
        label.setPadding(labInsets);
        issueVBox.getChildren().add(label);
    }

    /**
     * 常见问题（教学监管怎么做）
     * @param issueVBox 常见问题盒子
     */
    private void teachingLabInit(MyVBox issueVBox) {

        //布局
        Insets labInsets = new Insets(5, 20, 5, 20);

        Label label = new Label("教学监管怎么做");
        label.setPadding(labInsets);
        issueVBox.getChildren().add(label);

    }


}
